package helpers.grupo.jerarquia;

import helpers.*;
import cliente.pagina.*;
import comun.constantes.*;
import server.aula.ControlAula;
import server.grupo.*;
import java.util.*;
import persistencia.dominio.*;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: </p>
 * @author unascribed
 * @version 1.0
 */

public class HelperSecretaria extends Helper {
	
  
  public HelperSecretaria(Pagina pagina) {
    super(pagina);
  }

   
  public String getHTMLSecretaria() throws Exception{
	  ControlAula controlAula = new ControlAula(this.persistencia);
	  boolean esAlumno = true;
	  boolean intercomision = ((Boolean)this.pagina.getSession().getAttribute(PARAMETROS_PAGINAS.INTERCOMISION)).booleanValue();
	  //boolean permisoCorreo = false;
	  boolean seleccionar = false;//por ahora no lo uso, pasa que copie la idea de contactos...
	  boolean permisoCorreo = false;
	  boolean permisoCorreoLogueado = false;//idem anterior
	  Persona usuario = null;//idem anterior
	  Participante personaParticipante = null;
      ParticipanteComision pteCom = null;
     
     usuario = (Persona)persistencia.getObjectoPorId("persistencia.dominio.Persona",this.pagina.getIdPersona());
     String tipoUsuarioLogueado = controlAula.getParticipante(this.pagina.getIdAula(),pagina.getIdPersona()).getTipoUsuario().getNombre();
     permisoCorreoLogueado = this.obtenerPermisoRecurso(RECURSOS.CORREO,tipoUsuarioLogueado,new Boolean(intercomision)).compareTo(TIPO_PERMISOS.NINGUNO)!=0;
     if(intercomision)
    	 personaParticipante = controlAula.getParticipante(this.pagina.getIdAula(),this.pagina.getIdPersona());
	 else{
		 pteCom = controlAula.getParticipanteComision(this.pagina.getIdComision(),this.pagina.getIdPersona());
		 personaParticipante = pteCom.getParticipante();
	 }	 
     if(personaParticipante.getTipoUsuario().getNombre().compareTo(TIPO_USUARIOS.ALUMNO)!=0) esAlumno = false;
     
	  String html = "";
	  ControlGrupo controlGrupo = new ControlGrupo(this.persistencia);
	  ControlParticipanteGrupo controlParticipanteGrupo = new ControlParticipanteGrupo(persistencia);
	  Grupo grupo = controlGrupo.getGrupo(this.pagina.getIdGrupo());
	  Vector vector = controlParticipanteGrupo.getPersonaRolGrupo(grupo.getId(),TIPO_USUARIOS.LIDER);
	  
	  Participante lider = null;
	  
	  if(vector!=null && !vector.isEmpty()){
		  ParticipanteComision pc = (ParticipanteComision)vector.firstElement();
		  lider = pc.getParticipante();
	  }
	  Vector vectorS = controlParticipanteGrupo.getPersonaRolGrupo(grupo.getId(),TIPO_USUARIOS.LIDER_SUPLENTE);
	  Participante liderSuplente = null;
	  if(vectorS!=null && !vectorS.isEmpty()){
		  ParticipanteComision pc = (ParticipanteComision)vectorS.firstElement();
		  liderSuplente = pc.getParticipante();
	  }
	  html += "\t    <h3>Descripci&oacute;n:</h3>\n";
	  String desc = "No posee";
      if(grupo.getDescripcion().compareTo("")!=0) desc = grupo.getDescripcion();
	  html += "\t\t<b><i>"+desc+"</i></b>\n";
	  html += "\t\t<table width=\"400\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"> \n";
	  html += "\t\t  <tr>\n";
	  html += "\t\t  <td>\n";
	  
	  html += "\t    <h3>L&iacute;der: </h3>\n";
	  if(lider!=null) html += "\t\t<label>"+lider.getPersona().getNombreYApellido()+"</label>\n";
	  else html += "\t\t<label>A&uacute;n sin l&iacute;der asignado</label>\n";
	  
	  html += "\t\t  </td>\n";
	  html += "\t\t  <td>\n";
	  
	  html += "\t    <h3>Co-L&iacute;der: </h3>\n";
	  if(liderSuplente!=null) html += "\t\t<label>"+liderSuplente.getPersona().getNombreYApellido()+"</label>\n";
	  else html += "\t\t<label>A&uacute;n sin Co-L&iacute;der asignado</label>\n";
	  
	  html += "\t\t  </td>\n";
	  html += "\t\t  </tr>\n";
	  html += "\t\t  </table>\n";
	  
	  html += "\t <br>\n";
	  html += "\t <br>\n";
	  html += "\t <br>\n";
	  
	  html+="\t\t<table border=\"0\" cellpadding=\"1\" cellspacing=\"1\" width=\"550\">\n";
      if((grupo.getEstadoGrupo().getDescripcion().compareTo(ESTADO_GRUPOS.ELIMINADO)!=0) && (grupo.getEstadoGrupo().getDescripcion().compareTo(ESTADO_GRUPOS.FINALIZADO)!=0)){	   		
       	    
       	   String permisoAdministracion = null;
       	   String permisoConfiguracion = null;
       	   if(intercomision){
       		   permisoAdministracion = this.pagina.obtenerPermisoRecursoTablaAula(RECURSOS.ADMINISTRACION_DE_GRUPOS,this.pagina.getIdAula());
       		   permisoConfiguracion = this.pagina.obtenerPermisoRecursoTablaAula(RECURSOS.CONFIGURACION_DE_GRUPOS,this.pagina.getIdAula());
       	   }else{
       		   permisoAdministracion = this.pagina.obtenerPermisoRecursoTablaAula(RECURSOS.ADMINISTRACION_DE_GRUPOS,this.pagina.getIdComision());
       		   permisoConfiguracion = this.pagina.obtenerPermisoRecursoTablaAula(RECURSOS.CONFIGURACION_DE_GRUPOS,this.pagina.getIdComision());
       	   }
       	   String permisoEscrituraSecretaria = null;
       	   permisoEscrituraSecretaria = this.pagina.obtenerPermisoRecursoGrupoDesdeCualquierNivel(RECURSOS.SECRETARIA_GRUPO,this.pagina.getIdGrupo());
       	   if ((permisoAdministracion != null && (permisoAdministracion.compareTo(TIPO_PERMISOS.NINGUNO) != 0))||
       			(permisoEscrituraSecretaria != null && (permisoEscrituraSecretaria.compareTo(TIPO_PERMISOS.ESCRITURA) == 0))){
       		   html += "\t\t<tr>\n";
       		   html += "\t\t\t<td><a href=\""+this.pagina.getPathPaginas()+"modificar.jsp?"+this.getHTMLReferenciasParametros()+"\"><img align=\"middle\" src=\""+this.pagina.getPathRaiz()+"imagenes/imagenesNJ/edit_grupo.gif\" title=\"Modificar grupo\" width=\"44\" height=\"44\" border=\"0\"/></a></td>\n";
       		   html += "\t\t\t<td><a href=\""+this.pagina.getPathPaginas()+"modificar.jsp?"+this.getHTMLReferenciasParametros()+"\"><strong>Modificar Grupo</strong></a>. Permite actualizar o modificar el grupo actual.</td>\n";
       		   html += "\t\t</tr>";
       	   }	   
       	   if (permisoConfiguracion != null && (permisoConfiguracion.compareTo(TIPO_PERMISOS.NINGUNO) != 0)){ 
	    	   html += "\t\t<tr>\n"; 
	    	   html += "\t\t\t <td><a href=\""+this.pagina.getPathPaginas()+"configuracion.jsp?"+this.getHTMLReferenciasParametros()+
		                              "&"+PARAMETROS_PAGINAS.CONFIGURACION_DE_QUIEN+"="+ACCIONES_A_REALIZAR.CONFIGURACION_DE_UN_SOLO_GRUPO+"\"><img align=\"middle\" src=\""+this.pagina.getPathRaiz()+"imagenes/imagenesNJ/configurar_grupo.gif\" title=\"Configurar grupo\" width=\"44\" height=\"44\" border=\"0\"/></a></td>\n";
	    	   html += "\t\t\t <td><a href=\""+this.pagina.getPathPaginas()+"configuracion.jsp?"+this.getHTMLReferenciasParametros()+
		                              "&"+PARAMETROS_PAGINAS.CONFIGURACION_DE_QUIEN+"="+ACCIONES_A_REALIZAR.CONFIGURACION_DE_UN_SOLO_GRUPO+"\"><strong>Configurar Grupo</strong></a>. Permite gestionar la configuraci&oacute;n del grupo actual.</td>\n";
	    	   html += "\t\t</tr>";
	       }
	       String permisoGestionIntegrantes = this.pagina.obtenerPermisoRecurso(RECURSOS.GESTION_INTEGRANTES);
	       if (permisoGestionIntegrantes != null && (permisoGestionIntegrantes.compareTo(TIPO_PERMISOS.NINGUNO) != 0)){
	    	   html += "\t\t<tr>";
	    	   html += "\t\t\t <td><a href=\""+this.pagina.getPathPaginas()+"gestion_integracion.jsp?"+this.getHTMLReferenciasParametros()+"\"><img align=\"middle\" src=\""+this.pagina.getPathRaiz()+"imagenes/imagenesNJ/integraciones.gif\" title=\"Integraciones\" width=\"44\" height=\"44\" border=\"0\"/></a></td>\n";   
	    	   html += "\t\t\t <td><a href=\""+this.pagina.getPathPaginas()+"gestion_integracion.jsp?"+this.getHTMLReferenciasParametros()+"\"><strong>Integraciones</strong></a>. Permite gestionar las invitaciones y/o solicitudes de integraci&oacute;n del grupo actual.</td>\n";
	    	   html	+= "\t\t</tr>\n";
	       }
   	  }
      html += "\t\t</table>\n";
	  return html;
  }
  
  private String getHTMLBotones(int controlarLider){
	  String html="";
	  html += "\t\t<div id=\"botonesNJ\" align=\"center\">\n";
	  String url = "../comision_grupo.jsp?";
	  String dondeVolver = this.pagina.getParameter(PARAMETROS_PAGINAS.DONDE_VOLVER);
	  if(dondeVolver!=null && dondeVolver.compareTo(DONDE_VOLVER.RECURSO_GRUPO_AULA)==0){
		  url = "../../materia_grupo.jsp?";
	  }else if(dondeVolver!=null && dondeVolver.compareTo(DONDE_VOLVER.INDEX_GRUPO)==0){
		  url = "secretaria.jsp?";
	  }
	  
	  html+= "\t\t<input name=\""+PARAMETROS_PAGINAS.NOMBRE_BOTONES+"\" type=\"button\" class=\"boton\" value=\""+ACCIONES_A_REALIZAR.VOLVER+"\"" +
		" onClick=\"realizaSubmit('"+url+this.getHTMLReferenciasParametros()+"',this.form)\"/>\n";
	  
	  html += "\t\t  <input name=\""+PARAMETROS_PAGINAS.NOMBRE_BOTONES+"\" type=\"button\"" +
		" onClick=\"ValidateFormModificandoGrupo("+controlarLider+")\" class=\"boton\"" +
		" value=\""+ACCIONES_A_REALIZAR.MODIFICAR_GRUPO+"\" />\n";
	  
	  html += "\t\t\t</div>\n";
	  return html;
  }
  
  private String getHTMLReferenciasParametros(){
	  String html = PARAMETROS_PAGINAS.ID_AULA+"="+this.pagina.getIdAula()+
		"&"+PARAMETROS_PAGINAS.ID_ORGANIZACION+"="+((PaginaCurso)this.pagina).getIdOrganizacion()+
		"&"+PARAMETROS_PAGINAS.ID_GRUPO+"="+this.pagina.getIdGrupo()+
		"&"+PARAMETROS_PAGINAS.DONDE_VOLVER+"="+DONDE_VOLVER.INDEX_GRUPO+
		"&"+PARAMETROS_PAGINAS.REGISTRAR_ACCESO+"="+RECURSOS.INICIO+
		"&"+PARAMETROS_PAGINAS.ACCION+"="+ACCIONES_A_REALIZAR.MODIFICAR_GRUPO+
		
		"&"+PARAMETROS_PAGINAS.REFRESH+"="+new Long((new java.util.Date()).getTime());
		if(this.pagina.getIdComision()!=null)
			html += "&"+PARAMETROS_PAGINAS.ID_COMISION+"="+this.pagina.getIdComision();
		
		
		return html;
	 
  }  
  
  
}

